在 App 開發的過程中,錯誤是不可避免的。有時 App 會突然關閉,有時功能沒有按照預期運作。這時,我們就需要像一個「偵探」一樣,找出程式碼中的問題。
今天,我們將學習兩種最強大的偵錯工具:Logcat 和 Breakpoints。
Logcat?Logcat 就像是 App 的 「日記本」 或 「事件紀錄簿」。
Logcat 輸出訊息。這些訊息可能來自於系統、其他 App,也可能是你自己在程式碼中寫的紀錄。Logcat 會將錯誤訊息寫在日誌中,這是我們找出問題的關鍵線索。Logcat?Logcat 視窗:在 Android Studio 的左下方,點擊 Logcat 按鈕即可開啟。Logcat 的訊息分為不同的等級,你可以根據需要來篩選:
Verbose (最詳細):所有的日誌訊息。Debug (開發用):開發者自己寫的除錯訊息。Info (資訊):系統或 App 的一般資訊。Warn (警告):可能會導致問題的非致命錯誤。Error (錯誤):導致 App 崩潰的致命錯誤。Log.d() 或 Log.e() 來寫下你自己的日誌,這就像是你在「日記本」上寫下偵探的筆記,幫助你追蹤程式的執行流程。`import android.util.Log; // 記得要匯入 Log 類別
// ...
Log.d("MyTag", "按鈕被點擊了!"); // 寫一條除錯訊息
// ...`
Breakpoints (斷點)?Breakpoints 就像是 App 的 「時間暫停器」。
Breakpoints?MainActivity.java 檔案中,在你想暫停的程式碼行數旁邊,點擊一下。一個紅色的圓點就會出現。Debugger 視窗,裡面會顯示所有變數的當前值。你也可以使用偵錯工具列上的按鈕,一步步地執行程式碼,追蹤它的每一步。今天,我們不會寫新的 App,而是利用偵錯工具來找出一個常見的錯誤。
EditText 裡的字串轉換成數字。MainActivity.java 裡,在 Integer.parseInt(yourString) 這一行設定一個斷點。Debugger 視窗中,檢查 yourString 這個變數的值。你會發現它的值是 null 或空字串,而不是一個數字。今天我們學會了如何使用專業開發者必備的偵錯工具:
Logcat:App 的「日記本」,用來查看程式的執行日誌和錯誤訊息。Breakpoints:App 的「時間暫停器」,用來暫停程式,一步步追蹤變數的變化。現在已經具備了獨立解決程式錯誤的能力!
明天見!